#pragma once
#include<stdio.h>
#include<string.h>
#include<assert.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
//定义枚举常量，方便确认
enum Option
{
	EXIT,//0
	ADD,
	DEL,
	SEARCH,
	MODIFY,
	SHOW,
	SORT
};

//为了方便对值进行修改，进行宏定义
#define NAME_MAX 20
#define AUTHOR_MAX 10
#define MAX 100
#define DEFAULT_SZ 10
#define CapacityAdd 2
//定义图书的信息
typedef struct BookInfo
{
	char name[NAME_MAX];
	long long ISBN;
	char author[AUTHOR_MAX];
	float price;
	int inventory;
}BookInfo;

//创建图书管理系统
typedef struct Book
{
	BookInfo* data;//存放数据
	int sz;//记录当前图书管理系统存放的书的信息个数
	int capacity;//记录图书管理系统当前的容量
}Book;

//初始化图书管理系统
void InitBook(Book* pc);
//增加图书
void AddBook(Book* pc);
//删除图书
void DelBook(Book* pc);
//查找图书
void SearchBook(Book* pc);
//修改图书
void ModifyBook(Book* pc);
//显示图书
void ShowBook(const Book* pc);
//排序图书
void SortBook(Book* pc);
//保存信息到文件
void SaveBook(Book* pc);
//加载文件信息
void LoadBook(Book* pc);
//销毁图书管理系统
void DestroyBook(Book* pc);